package cn.j0n4than.api.service;

import cn.j0n4than.api.entity.Admin;

import java.util.HashMap;

/**
 * @author jonathan
 */
public interface AdminService {

    /**
     * 添加管理员
     *
     * @param admin Admin 实例
     * @return 影响条数
     */
    int insert(Admin admin);

    /**
     * 删除管理员
     *
     * @param id 管理员ID
     * @return 影响条数
     */
    int delete(int id);

    /**
     * 更新管理员
     *
     * @param id    管理员ID
     * @param admin Admin 实例
     * @return 影响条数
     */
    int update(int id, Admin admin);

    /**
     * 获取管理员列表(分页)
     *
     * @param page  页码
     * @param limit 数据条数
     * @return result
     */
    HashMap<String, Object> getList(int page, int limit);

    /**
     * 通过ID找到管理员
     *
     * @param id 管理员ID
     * @return Admin 实例
     */
    Admin findAdminById(int id);

    /**
     * 通过用户名找到管理员
     *
     * @param username 用户名
     * @return Admin 实例
     */
    Admin findAdminByUsername(String username);

    /**
     * 登陆验证
     *
     * @param username 用户名
     * @param password 密码
     * @return Admin 实例，验证失败返回null
     */
    Admin login(String username, String password);
}
